package com.giscloud.amp.service.auth;

import com.giscloud.amp.entity.dto.AmpStaffOrgDTO;
import com.giscloud.amp.entity.vo.AmpStaffOrgVO;
import com.giscloud.amp.entity.vo.AmpStaffSystemOrgVO;
import com.giscloud.datasource.page.PageInfo;
import org.springframework.cache.annotation.CachePut;

import java.util.List;
import java.util.Set;

/**
 * @Author:gxd
 * @Description:
 * @Date: 11:03 2018/2/24
 * @Modified By:
 */
public interface AmpStaffOrgService {
     PageInfo getAmpStaffOrgList(AmpStaffOrgDTO ampStaffOrgDTO);

     AmpStaffOrgVO getAmpStaffOrgByCondition(AmpStaffOrgDTO ampStaffOrgDTO);

     int insert(AmpStaffOrgDTO ampStaffOrgDTO);

     int update(AmpStaffOrgDTO ampStaffOrgDTO);

     @CachePut(value="defaultCache",key="'SysUserOrg-'+#relId")
     int delete(Long relId);

     Set<String> getOrgCodeByCondition(String staffId);

     List<AmpStaffSystemOrgVO> getOrgByStaffId(AmpStaffOrgDTO ampStaffOrgDTO);
}
